<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 20. 买卖股票的最佳时机；给定一个数组，它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易（即买入和卖出一支股票一次）设计一个算法来计算你所能获取的最大利润。
    /*
    输入：[7, 1, 5, 3, 6, 4]
    输出：5
    解释：在第2天（当天股票价格等于1）的时候买入，在第五天（当天股票价格等于6）的时候卖出，最大利润为 6 - 1 = 5。
    注意：利润不能使7 - 1 = 6，因为第二天的价格为1，第一天的价格为7，你是不可能在第二天买入股票然后等到第一天卖出的
    */

    function maxProfit (arr) {
      if (!(arr instanceof Array || arr.length < 2)) throw new Error('请输入至少两个值的元素')
      var max = arr[1] - arr[0]
      for (var i = 0; i < arr.length; i++) {
        for (var j = i; j < arr.length; j++) {
          if (arr[j] - arr[i] > max) max = arr[j] - arr[i]
        }
      }
      return max
    }
    console.log('期望输出5')
    console.log(maxProfit([7, 1, 5, 3, 6, 4]))
  </script>
</body>
</html>